package com.edu.ujn.myh.service.impl;

import java.util.List;

import com.edu.ujn.myh.dao.ILoginDao;
import com.edu.ujn.myh.domain.RoleInfo;
import com.edu.ujn.myh.domain.UserInfo;
import com.edu.ujn.myh.service.ILoginService;

/**
 * 
 * @作者 马永华
 * @日期 2010-4-13下午09:14:31
 * @版本 1.0.0 登录service
 */
public class LoginServiceImpl implements ILoginService {
	private ILoginDao loginDao = null;

	// 用户注册
	public String registerService(UserInfo userInfo) {
		String str = "success";
		try {
			loginDao.saveUser(userInfo);
		} catch (Exception e) {
			str = "error";
			e.printStackTrace();
		}
		return str;
	}

	// 用户登录
	public List login(UserInfo userInfo) {
		List list = null;
		try {
			list = loginDao.login(userInfo);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return list;
	}

	// 查询用户权限
	public List userPrivList(List roleInfo) {
		List privList = null;
		try {
			privList = loginDao.userPrivList(roleInfo);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return privList;
	}
//	用户密码修改该
	public String passModify(UserInfo userInfo) {
		String sql = "update UserInfo u set u.passWord = '"+userInfo.getPassWord()+"' where u.userName='"+userInfo.getUserName()+"'";
		try{
			loginDao.updatePassWord(sql);
		}catch(Exception e){
			e.printStackTrace();
		return "error";
		}
		return "success";
	}
//	用户名检查
	public String checkUserName(String userName) {
		String sql = "from UserInfo u where u.userName = '"+userName+"'";
		List list = loginDao.checkUserName(sql);
		if(list==null||list.size()==0){
			return "success";
		}
		return "error";
	}
//	获得用户角色列表
	public List roleList() {
		String sql = "from RoleInfo roleInfo";
		List list = loginDao.roleList(sql);
		return list;
	}
//	获得角色权限列表
	public List rolePrivList(RoleInfo roleInfo){
		return loginDao.rolePrivList(roleInfo);
	}
//角色修改
	public String roleModify(int[] priv, int roleId) {
		try{
			loginDao.updateRoleModify(priv, roleId);
		}catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}
//重新设置用户密码
	public String reSetPass(UserInfo userInfo) {
		try{
			loginDao.updateRePass(userInfo);
		}catch(Exception e){
			e.printStackTrace();
			return "error";
			
		}
		return "success";
	}

	public void setLoginDao(ILoginDao loginDao) {
		this.loginDao = loginDao;
	}


}
